\section{Circuit recognition}
\subsection{Connection Recognition}
제안된 방법은 회로도의 특수성에서 출발한다. 회로도는 특수한 모양으로
이루어져 있는 요소 기호와 이를 연결하는 선으로 구성되어 있다. 손으로
그린 회로도를 인식하여야 하므로 요소 기호가 있는 영역을 찾아야 한다.
이를 위해 요소 기호가 아니라 이를 연결하고 있는 일정 길이 이상의
선을 찾아 낸다. 찾아낸 선들의 연결 상태를 확인하여 양 끝이 다른 선과
연결 되지 않은 선을 찾으면 연결 되지 않은 쪽의 영역이 요소 기호와
연결되어 있다고 알아낼 수 있다.\\

유효한 선과 점을 찾아내기 위한 조건은 아래와 같다.
\begin{itemize}
	\item[-] 점은 일정 각 이상을 이루는 최소 두 직선의 교점에
	위치한다. (180도는 의미가 없으므로 제외한다.)
	\item[-] 선은 양 끝에 적어도 하나의 점과 연결되어야 한다.
	\item[-] 점은 점을 이루는 직선과 같은 방향의 선과 연결되어 있어야 한다.
	\item[-] 모든 선들은 점을 통해서 연결 되어 있어야 한다.
	\item[-] 연결 되지 않은 선(양 끝에 점을 하나만 가지고 있는 선)은
	요소 기호와 연결되어 있다.
	\item[-] 요소 기호는 45$\times$n도 ($n = 0,1,2,\ldots$)로만 기울어져
	있다.
\end{itemize}
위의 조건을 가지고 회로도의 연결 상태를 인식하기 위한 과정은 다음과 같다.
\begin{enumerate}
\item 회로도로부터 Canny edge를 구한다.
\item 구한 edge에서 Hough transform을 수행하여 일정 조건을 만족하는
직선을 찾는다.
\item 서로 다른 방향의 직선이 만나는 점을 찾아 유효한 점인지 판별한다.\\
	유효한 점은 다음과 같은 기준으로 찾는다.
	\begin{enumerate}
		\item 먼저 서로 다른 방향의 직선이 만나는 모든 곳을 점으로 한다.
		\item 모든 점에 대하여 그 점을 이룬 직선들이 만나는 곳인지
		확인한다.\\
		\item 만나지 않는 곳은 유효한 점이 아니므로 제외한다.
	\end{enumerate}
\item 인식 조건으로 부터 유효한 점 하나와도 연결되지 않은 선을 제외한다. 
\item 선과 점들의 연결 상태를 확인하여 요소 기호의 영역을 찾아낸다.
\end{enumerate}
\subsection{Element Recognition}
손으로 그린 요소 기호를 인식하여야 하기 때문에 PCA를 이용한 방법으로
앞선 과정에서 찾아낸 영역에 대하여 미리 인식할 기호들을 넣어 구해놓은
벡터와 점곱을 하여 제일 유사한 기호로 인식한다.

